package com.alibaba.algo.entity.user;

import com.alibaba.algo.core.base.BaseEntity;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.List;
import java.util.Set;

/**
 * 类SysGroup.java的实现描述：用户组 entity
 *
 * @author fan.tianpeng 2021-05-06 19:30:27
 */
@Getter
@Setter
public class SysGroup extends BaseEntity {

    /**
     * 用户组编码
     */
    @ExcelProperty("人员组编码")
    private String groupCode;

    /**
     * 名称
     */
    @ExcelProperty("人员组名称")
    private String groupName;

    /**
     * groupState
     */
    private Integer groupState;

    /**
     * 描述
     */
    private String description;

    /**
     * 唯一标识
     */
    private String uuid;

    /*
    下面的是辅助字段
     */

    /**
     * 用户组编码
     */
    private String groupCodeKey;

    /**
     * 名称
     */
    private String groupNameKey;

    /**
     * 用户组下的员工数
     */
    private Integer employeeCount;


    private Integer userCount;

    /**
     *
     */
    private Integer orgCount;

    /**
     * 用户组列表
     */
    private List<Long> groupIdList;

    /**
     * 组织id列表
     */
    private List<Long> orgIdList;

    /**
     * 员工id列表
     */
    private List<Long> employeeIdList;

    /**
     * 用于列表查询组合判断，如果传此参数，为并集查询 if test条件判断
     */
    private String employeeName;

    /**
     * 用于列表查询组合判断，如果传此参数，为并集查询 if test条件判断
     */
    private String userAccount;

    /**
     * 用户名称
     */
    private String userName;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 员工工号
     */
    private String employeeCode;

    private Set<SysUser> userList;
}
